#include "log_module.h"
#include "sys_data.h"

///////////////////////////////////////////////////////////////////////////////////////////////////////////////

namespace xos_log
{

    log_module::log_module()
    {
        memset( m_szName, 0, sizeof( m_szName ) );
    }

    log_module::~log_module()
    {
        term();
    }

    /////////////////////////////////////////////////////////////////////////////////
    // 

    int log_module::init()
    {
        int nRet = 0;
        return nRet;
    }

    int log_module::term()
    {
        int nRet = 0;
        memset( m_szName, 0, sizeof( m_szName ) );
        m_level_list.put_back_to_pool();
        return nRet;
    }

    log_level * log_module::find_log_level( unsigned long ulLogLevel )
    {
        log_level * pRet = 0;

        for( log_level * p = m_level_list.begin(); p != m_level_list.end(); p = p->m_pNext )
        {
            if( ulLogLevel == p->m_ulLevel )
            {
                pRet = p;
                break;
            }
        }

        return pRet;
    }

    int log_module::release()
    {
        int nRet = 0;
        term();
        put_back_lock();
        return nRet;
    }

} // xos_log
